API авторизация
В качестве механизма авторизации используется WSSE.
Получение токена
PUT | /_api/v1/security/token |
---|
Для получения токена необходимо отправить PUT
запрос по адресу /_api/v1/security/token
со следующими параметрами:
Параметр | Тип данных | Описание |
---|---|---|
username | string | Имя пользователя |
password | string | Пароль |
При успешном выполнении будет возвращена структура вида:
{
"token": "QwERty..."
}
Использование токена
Необходимо сформировать специальный HTTP заголовок X-WSSE
и передавать его в каждом запросе.
Пример генерации заголовка на языке PHP
$username = 'john.doe';
$token = 'QwERty...';
$nonce = hash('sha512', uniqid(true));
$created = date('r');
$digest = base64_encode(sha1(base64_decode($nonce) . $created . $token, true));
$request->setHeader('X-WSSE', 'UsernameToken Username="' . $username . '", PasswordDigest="' . $digest . '", Nonce="' . $nonce . '", Created="' . $created . '"');
Параметр | Описание |
---|---|
$username | Имя пользователя |
$token | Токен авторизации |
$nonce | Одноразовый код (подробнее на wikipedia.ru) |
$created | Текущее время в формате ISO 8601, например: 2004-02-12T15:19:21+00:00 |
$digest | Дайджест. Особое внимание следует обратить на то, что sha1 возвращает хэш в виде бинарных данных (второй аргумент true) |